// pages/order/order.js
Page({
    data: {
        orderData: {}, // 订单数据
        selectedPay: 0  // 选中的支付方式（0：微信，1：支付宝）
    },

    onLoad(options) {
        // 页面加载时，模拟从API或数据库获取数据
        const mockData = this.mockOrderData();
        this.setData({
            orderData: mockData
        });
    },

    /**
     * 模拟从后端获取订单数据
     * @returns {object} 订单数据对象
     */
    mockOrderData() {
        // 这里的逻辑未来可以替换为 wx.request
        //   console.log("正在从 '数据库' 获取订单数据...");

        // 模拟的地址数据（可能为null）
        const address = wx.getStorageSync("address") || null;
        // const address = null; // 测试空地址状态

        // 模拟的商品列表
        const goodsList = [
            {
                id: 1,
                name: "专业牙齿美白护理套装 天然成分 健康护齿 温和不刺激",
                coverImage: "/assets/images/my/avatar.jpg",
                spec: "单支装 (30ml)",
                price: 199,
                count: 1
            },
            {
                id: 2,
                name: "无线蓝牙耳机 主动降噪 长续航 高清通话",
                coverImage: "/assets/images/my/avatar.jpg",
                spec: "黑色",
                price: 399,
                count: 1
            }
        ];

        // 计算价格
        const totalPrice = goodsList.reduce((sum, item) => sum + item.price * item.count, 0);
        const freight = 0; // 免运费
        const coupon = 50; // 假设使用了50元优惠券
        const payPrice = Math.max(0, totalPrice + freight - coupon);

        return {
            address: address,
            goodsList: goodsList,
            totalPrice: totalPrice,
            freight: freight,
            coupon: coupon,
            payPrice: payPrice
        };
    },

    // 选择收货地址
    // chooseAddress() {
    //     // 跳转到添加收货地址页面
    //     wx.navigateTo({
    //         url: '/pages/business/addressAdd/addressAdd'
    //     });
        //   wx.chooseAddress({
        //     success: (res) => {
        //       this.setData({
        //         'orderData.address': res
        //       });
        //       // 缓存地址
        //       wx.setStorageSync("address", res);
        //     }
        //   });
    // },

    chooseAddress() {
        // 从缓存中获取地址列表
        const addressList = wx.getStorageSync('addressList') || [];
      
        if (addressList.length > 0) {
          // 如果有地址，跳转到地址列表页
          wx.navigateTo({
            url: '/pages/business/addressList/addressList'
          });
        } else {
          // 如果没有地址，直接跳转到添加地址页
          wx.navigateTo({
            url: '/pages/business/addressAdd/addressAdd'
          });
        }
      },

    refreshAddress() {
        // 重新从本地缓存获取地址列表
        const addressList = wx.getStorageSync('addressList') || [];
        // 这里可以根据需求选择默认地址，或更新页面地址显示
        if (addressList.length > 0) {
          // 比如：选择第一个地址作为当前订单地址
          this.setData({
            'orderData.address': addressList[0]
          });
        }
      },
      
      // 同时，订单页的 onShow 方法也可以添加刷新逻辑（防止用户直接返回）
      onShow() {
        this.refreshAddress();
      },

    // 选择支付方式
    selectPay(e) {
        const index = e.currentTarget.dataset.index;
        this.setData({
            selectedPay: index
        })
    },

    // 提交订单
    submitOrder() {
        if (!this.data.orderData.address) {
            wx.showToast({
                title: "请选择收货地址",
                icon: "none"
            });
            return;
        }

        // 模拟提交订单
        wx.showLoading({
            title: "提交订单中..."
        });

        setTimeout(() => {
            wx.hideLoading();
            wx.showToast({
                title: "订单提交成功"
            });

            // 跳转到支付页面
            const payType = this.data.selectedPay === 0 ? 'wechat' : 'alipay';
            wx.navigateTo({
                url: `/pages/pay/pay?orderId=${Date.now()}&payPrice=${this.data.orderData.payPrice}&payType=${payType}`
            });
        }, 1500);
    }
});